package Control;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import Model.User;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpSession;

/**
 * Servlet implementation class Controllogin
 */
public class Controllogin extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public Controllogin() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		try {
			HttpSession session = request.getSession();
			response.setContentType("text/html;charset=UTF-8");
			String currentUrl = (String) session.getAttribute("url");
			
			String username = request.getParameter("username");
			String password = request.getParameter("password");
//			String pay = request.getParameter("pay");
			String pay = (String) session.getAttribute("pay");

			String url = "/index.jsp";
			User user = User.login(username, password);
			
			if(user!=null){
				session.setAttribute("sessionlogin", user);
				if(pay == null){
					if(currentUrl != null){  // da click vao /Admin
						response.sendRedirect(currentUrl);
						return;
					}else{
						response.sendRedirect("index.jsp");
						return;
					}
				}else{
					response.sendRedirect("checkout.jsp");
					return;
				}
			}// end: user != null	

			// user chua dang nhap
			else{
				if (pay != null) {
					request.setAttribute("errorlogin",
							"Tên đăng nhập hoặc mật khẩu bạn đã nhập không đúng");
					url = "/login.jsp";
				}
				if (pay == null) {
					request.setAttribute("errorlogin",
							"Tên đăng nhập hoặc mật khẩu bạn đã nhập không đúng");
					url = "/index.jsp";
				}	
			}
			
			RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(url);
			dispatcher.forward(request, response);
			
			
			
			
			
			
			
			
			

//			if (currentUrl == null) {
//				currentUrl = "/index.jsp";
//			}
			
//			if (currentUrl.contains("Admin")) {
//				response.sendRedirect(currentUrl);
//			}
			
//			if (user != null & pay != null) {
//				session.setAttribute("sessionlogin", user);
//				response.sendRedirect("checkout.jsp");
//				return;
//
//			}
//			if (user != null & pay == null) {
//				session.setAttribute("sessionlogin", user);
//				response.sendRedirect("index.jsp");
//				return;
//			}
//
//			if (user == null & pay != null) {
//				request.setAttribute("errorlogin",
//						"Tên đăng nhập hoặc mật khẩu bạn đã nhập không đúng");
//				url = "/login.jsp";
//			}
//			if (user == null & pay == null) {
//				request.setAttribute("errorlogin",
//						"Tên đăng nhập hoặc mật khẩu bạn đã nhập không đúng");
//				url = "/index.jsp";
//			}
//			System.out.println("url sau khi login" + url);
//			RequestDispatcher dispatcher = getServletContext()
//					.getRequestDispatcher(url);
//			dispatcher.forward(request, response);
//
		} catch (Exception e) {
			// TODO: handle exception

		}

	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}
